Python 库学习

您所在的位置:网站首页 python flask库安装 Python 库学习

Python 库学习

2023-12-03 20:58| 来源: 网络整理| 查看: 265

文章目录 系列文章一、Flask简单介绍二、项目创建(进入调试模式/热部署)三、路由解析四、渲染模板五、表单提交

系列文章

Python 学习 01 —— Python基础 Python 库学习 —— urllib 学习 Python 库学习 —— BeautifulSoup4学习 Python 库学习 —— Re 正则表达式 Python 库学习 —— Excel存储(xlwt、xlrd) Python 学习 02 —— Python爬虫 Python 库学习 —— Flask 基础学习 Python 学习03 —— 爬虫网站项目

一、Flask简单介绍

Python做Web开发常用框架之一,通常来说,大型项目用Django,小型项目用Flask。著名的网飞(Netflix)也是使用Flask开发。

Flask是轻量框架,本身带有Werkzeug(用于路由解析)和Jinja2(用于模板渲染),同时Flask有非常丰富的第三方库,需要什么就安装什么,所以自身是比较小巧的。

二、项目创建(进入调试模式/热部署) 新建项目时选择Flask(初次创建时会下载一些包) 创建项目

创建好的项目如下:

其中,static是用来放CSS、JavaScript等静态资源,templates是用来放HTML等渲染模板。

右侧代码app = Flask(__name__)把Flask框架导入进来,赋给app,所以后面就可以使用变量app来操作Flask框架。

代码@app.route('/')是进行路由解析,即后续我们访问http://127.0.0.1:5000/会默认解析到函数hello_world()。

学过Java Web这些应该都比较清楚。

运行程序

右键运行或者右上角点运行按钮,会出现下面结果,点击下面的链接或者去浏览器输入链接,可以访问网站(路由解析到hello_world函数)

开启热部署/调试模式

对代码进行修改后,都需要重新运行才能看见修改的效果,而开启调试模式可以即时看到修改效果(。

PyCharm 专业版:

PyCharm 社区版(也可以按专业版方法)

出现下面样子,表示开启成功:

三、路由解析

前面说过,@app.route('/')是对默认路径进行解析http://127.0.0.1:5000/,如果对Java Web有了解就知道,我们可以携带参数、修改路径等等。

修改路径

# 访问 http://127.0.0.1:5000/index @app.route('/index') def index(): return '这是首页'

传递字符串参数

# 访问 http://127.0.0.1:5000/user/小白,name是str类型 @app.route('/user/') def welcome(name): return '你好, %s' % name

传递整型参数

# 访问 http://127.0.0.1:5000/user/123,路由解析会自动判断我们传递参数的类型,来自动选择执行哪个函数 @app.route('/user/') def welcome2(id): return '%d号会员,你好' % id

传递浮点数类型

# 访问 http://127.0.0.1:5000/user/1.11 @app.route('/user/') def welcome3(money): return '您花费了%f' % money 四、渲染模板

写网站一般都会用到HTML,Python开发也不例外,我们会将HTML放在templates文件夹下,使用Jinja2进行渲染。

返回HTML

# 要导入render_template from flask import Flask, render_template app = Flask(__name__) # 使用render_template来加载HTML @app.route('/') def hello_world(): return render_template('index.html') if __name__ == '__main__': app.run()

结果:

向HTML传递参数

传递的参数直接加在render_template后面,参数名称前面是HTML里访问名,后面是当前模块里的变量名。

from flask import Flask, render_template import datetime # 导入时间模块 app = Flask(__name__) @app.route('/') def hello_world(): time = datetime.date.today() # 传递 普通变量(今天日期) nameList = ["小白", "小红", "小蓝"] # 传递 列表 gradeDic = {"语文成绩": 90, "数学成绩": 85, "英语成绩": 78} # 传递字典 # 传递参数:HTML里的变量名=当前变量名 return render_template('index.html', var=time, age=18, list=nameList, gradeDic=gradeDic) if __name__ == '__main__': app.run()

HTML中使用Jinjia2的语句进行访问:

访问普通变量:{{ 传递的变量名 }}迭代:以{% for xx in xx %}开始,以{% endfor %}结束。判断:以{% if %}开始,以{% endif %}结束。 首页 今天的日期:{{ var }} {% if age < 18 %}

未成年

{% elif age == 18 %}

刚刚成年

{% else %}

已经成年了

{% endif %} 名称列表: {% for name in list %} {{ name }} {% endfor %} {% for key, value in gradeDic.items() %} {{ key }} {{ value }} {% endfor %}

结果:

五、表单提交

Web开发中经常会用到表单,这里简单举例一下Flask框架提交表单怎么写。

项目结构

注册页面 register.html

注册页面


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3